package com.ruoyi.io;
import java.io.FileInputStream;          // 引入 FileInputStream 类
import java.io.FileOutputStream;         // 引入 FileOutputStream 类
import java.io.ObjectInputStream;        // 引入 ObjectInputStream 类
import java.io.ObjectOutputStream;       // 引入 ObjectOutputStream 类
public class ObjectStreamsExample {
    public static void main(String[] args) {

        String filePath = "person.dat";

        // 创建 Person 对象
        Person person = new Person("Alice", 20);

        try {
            // 创建 ObjectOutputStream 对象
            ObjectOutputStream objectOutputStream = new ObjectOutputStream(new FileOutputStream(filePath));

            // 将 Person 对象写入文件
            objectOutputStream.writeObject(person);

            // 关闭 ObjectOutputStream 对象
            objectOutputStream.close();

            // 创建 ObjectInputStream 对象
            ObjectInputStream objectInputStream = new ObjectInputStream(new FileInputStream(filePath));

            // 从文件中读取 Person 对象
            Person personFromFile = (Person) objectInputStream.readObject();

            // 关闭 ObjectInputStream 对象
            objectInputStream.close();

            // 打印读取的对象
            System.out.println(personFromFile);

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
